package com.bit.cfdi.web.constants;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class NavInfrastructure {

		//Navigation infrastructure maps
		
		//default permissions
		public static final String KEY_BIENVENIDO = "BIENVENIDO";
		public static final String KEY_PERFIL = "PERFIL";
		public static final String KEY_NEGOCIO = "NEGOCIO";
		public static final String KEY_COMPROBANTE = "COMPROBANTE";
		//END default permissions
		
		//Granted permissions
		public static final String KEY_KING_NEGOCIO = "KING_NEGOCIO";
		public static final String KEY_COMPROBANTE_FACTURA = "COMPROBANTE_FACTURA";
		public static final String KEY_COMPROBANTE_NOTA_CREDITO = "COMPROBANTE_NOTA_CREDITO";
		public static final String KEY_COMPROBANTE_RECIBO = "COMPROBANTE_RECIBO";
		public static final String KEY_COMPROBANTE_RECIBO_DONATARIA = "COMPROBANTE_RECIBO_DONATARIA";
		public static final String KEY_COMPROBANTE_CARTA_PORTE = "COMPROBANTE_CARTA_PORTE";
		public static final String KEY_COMPROBANTE_CONFIGURACION = "COMPROBANTE_CONFIGURACION";
		public static final String KEY_REPORTES = "REPORTES";
		public static final String KEY_CLIENTES = "CLIENTES";
		public static final String KEY_PRODUCTOS = "PRODUCTOS";
		
		public static final List<String> ALL_MODULES = new ArrayList<String>();
		static {
			ALL_MODULES.add(KEY_KING_NEGOCIO);
			ALL_MODULES.add(KEY_COMPROBANTE_FACTURA);
			ALL_MODULES.add(KEY_COMPROBANTE_NOTA_CREDITO);
			ALL_MODULES.add(KEY_COMPROBANTE_RECIBO);
			ALL_MODULES.add(KEY_COMPROBANTE_RECIBO_DONATARIA);
			ALL_MODULES.add(KEY_COMPROBANTE_CARTA_PORTE);
			ALL_MODULES.add(KEY_COMPROBANTE_CONFIGURACION);
			ALL_MODULES.add(KEY_REPORTES);
			ALL_MODULES.add(KEY_CLIENTES);
			ALL_MODULES.add(KEY_PRODUCTOS);
		}
		
		//END Granted permissions
		
		
		public static final Map<String, String> KEY_MODULE_COMPONENT = new HashMap<String, String>();
		public static final Map<String, String> KEY_MODULE_NAVIGATION_COMPONENT = new HashMap<String, String>();
		public static final Map<Integer, String> POSITION_KEY_MODULE = new HashMap<Integer, String>();
		
		static {
			KEY_MODULE_COMPONENT.put(KEY_BIENVENIDO, "/home/bienvenido/bienvenido.zul");
			
			KEY_MODULE_COMPONENT.put(KEY_PERFIL, "/home/perfil/datos_personales_perfil.zul");
			KEY_MODULE_NAVIGATION_COMPONENT.put(KEY_PERFIL, "/home/perfil/nav_perfil.zul");
			POSITION_KEY_MODULE.put(2000, KEY_PERFIL);
			
			KEY_MODULE_COMPONENT.put(KEY_NEGOCIO, "/home/negocio/agregar_nuevo_negocio.zul");
			KEY_MODULE_NAVIGATION_COMPONENT.put(KEY_NEGOCIO, "/home/negocio/nav_negocio.zul");
			POSITION_KEY_MODULE.put(3000, KEY_NEGOCIO);
			
			KEY_MODULE_COMPONENT.put(KEY_KING_NEGOCIO, "/home/negocio/configurar_cuenta_negocio.zul");
			POSITION_KEY_MODULE.put(3100, KEY_KING_NEGOCIO);
			
			//All related with comprobante
			KEY_MODULE_NAVIGATION_COMPONENT.put(KEY_COMPROBANTE, "/home/comprobante/nav_comprobante.zul");
			POSITION_KEY_MODULE.put(4000, KEY_COMPROBANTE);
			
			KEY_MODULE_COMPONENT.put(KEY_COMPROBANTE_FACTURA, "/home/comprobante/factura.zul");
			POSITION_KEY_MODULE.put(4100, KEY_COMPROBANTE_FACTURA);
			
			KEY_MODULE_COMPONENT.put(KEY_COMPROBANTE_NOTA_CREDITO, "/home/comprobante/nota_credito.zul");
			POSITION_KEY_MODULE.put(4200, KEY_COMPROBANTE_NOTA_CREDITO);
			
			KEY_MODULE_COMPONENT.put(KEY_COMPROBANTE_RECIBO, "/home/comprobante/recibo.zul");
			POSITION_KEY_MODULE.put(4300, KEY_COMPROBANTE_RECIBO);
			
			KEY_MODULE_COMPONENT.put(KEY_COMPROBANTE_RECIBO_DONATARIA, "/home/comprobante/recibo_donataria.zul");
			POSITION_KEY_MODULE.put(4400, KEY_COMPROBANTE_RECIBO_DONATARIA);
			
			KEY_MODULE_COMPONENT.put(KEY_COMPROBANTE_CARTA_PORTE, "/home/comprobante/carta_porte.zul");
			POSITION_KEY_MODULE.put(4500, KEY_COMPROBANTE_CARTA_PORTE);
			
			KEY_MODULE_COMPONENT.put(KEY_COMPROBANTE_CONFIGURACION, "/home/comprobante/configuracion.zul");
			POSITION_KEY_MODULE.put(4600, KEY_COMPROBANTE_CONFIGURACION);
			//END All related with comprobante
			
			KEY_MODULE_COMPONENT.put(KEY_REPORTES, "/home/reportes/reportes.zul");
			KEY_MODULE_NAVIGATION_COMPONENT.put(KEY_REPORTES, "/home/reportes/nav_reportes.zul");
			POSITION_KEY_MODULE.put(5000, KEY_REPORTES);
			
			KEY_MODULE_COMPONENT.put(KEY_CLIENTES, "/home/clientes/clientes.zul");
			KEY_MODULE_NAVIGATION_COMPONENT.put(KEY_CLIENTES, "/home/clientes/nav_clientes.zul");
			POSITION_KEY_MODULE.put(6000, KEY_CLIENTES);
			
			KEY_MODULE_COMPONENT.put(KEY_PRODUCTOS, "/home/productos/producto_servicio.zul");
			KEY_MODULE_NAVIGATION_COMPONENT.put(KEY_PRODUCTOS, "/home/productos/nav_productos.zul");
			POSITION_KEY_MODULE.put(7000, KEY_PRODUCTOS);
		}
		
		//This Map contains all the posible modules that should bring up Comprobante Navigation menu
		public static final List<String> COMPROBANTE_PARTS = new ArrayList<String>();
		
		static {
			COMPROBANTE_PARTS.add(KEY_COMPROBANTE_FACTURA);
			COMPROBANTE_PARTS.add(KEY_COMPROBANTE_NOTA_CREDITO);
			COMPROBANTE_PARTS.add(KEY_COMPROBANTE_RECIBO);
			COMPROBANTE_PARTS.add(KEY_COMPROBANTE_RECIBO_DONATARIA);
			COMPROBANTE_PARTS.add(KEY_COMPROBANTE_CARTA_PORTE);
			COMPROBANTE_PARTS.add(KEY_COMPROBANTE_CONFIGURACION);
		}
		//END Navigation infrastructure maps
}
